In a typical database system supporting SQL (Structured Query Language), table rows can include one or more fields that are user defined type (UDT) fields. One type of UDT is a UDT structured type. The UDT structured type shares many properties in common with the C-language “struct.” Both a C-language struct and a UDT structured type can be declared to be composed of any number of data members which can be either homogeneous or heterogeneous with respect to their data types. Both a C-language struct and a UDT structured type can also be nested, containing data members which are themselves structured types. The declaration of a UDT structured type is entered into the DBS system using SQL Data Definition Directives.
Typically, to load data into a UDT, the data is packed into a data structure, such as a BLOB (binary large object), and the packed data is uploaded to the database system. The database system then unpacks the data and distributes the data throughout the system.